﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace ibba.src.norisk.Contracts
{
    [ServiceContract()]
    public interface IServiceDeParaAreaSubLimite
    {
        /*
        #region Tipo Limite

        [OperationContract()]
        List<TipoLimite> ObterListaTipoLimite();

        #endregion

        #region Produto

        [OperationContract()]
        List<ProdutoItau> ObterListaProdutoPorCodigoTipoLimite(int codTipoLimite);

        [OperationContract()]
        List<TipoLimite> InserirProdutos(List<ProdutoItau> produtos);

        [OperationContract()]
        void ExcluirProdutos(List<ProdutoItau> produtos);

        [OperationContract()]
        List<ProdutoItau> ObterListaProdutoPorDescricao(string descricao);

        #endregion

        #region Estrategia

        [OperationContract()]
        List<Estrategia> ObterListaEstrategiaPorCodigoTipoLimite(int codTipoLimite);

        [OperationContract()]
        List<TipoLimite> InserirEstrategias(List<Estrategia> estrategias);

        [OperationContract()]
        void ExcluirEstrategias(List<Estrategia> estrategias);

        [OperationContract()]
        List<Estrategia> ObterListaEstrategiaPorDescricao(string descricao);

        #endregion

        #region AreaInstitucional

        //[OperationContract()]
        //List<Estrategia> ObterListaAreaInstPorCodigoTipoLimite(int codTipoLimite);

        [OperationContract()]
        List<TipoLimite> InserirAreaInstitucional(List<AreaInstitucional> areas);

        [OperationContract()]
        void ExcluirAreaInstitucional(List<AreaInstitucional> areas);

        [OperationContract()]
        List<AreaInstitucional> ObterListaAreaInstPorDescricao(string descricao);

        #endregion
        */

        [OperationContract()]
        List<AreaSubLimite> ObterAreasSublimite();

        [OperationContract()]
        List<ProdutoItau> ObterProdutosItau();

        [OperationContract()]
        List<Estrategia> ObterEstrategias();

        [OperationContract()]
        List<AreaInstitucional> ObterAreasInstitucionais();
        
        [OperationContract()]
        DeParaAreaSubLimite ObterDeParaAreaSubLimite(int pIdAreaSubLimite);

        [OperationContract()]
        List<DeParaAreaSubLimite> ObterTodos();

        [OperationContract()]
        DeParaAreaSubLimite SalvarDePara(DeParaAreaSubLimite pEntidade);        
    }
}
